package com.ship.dispatch.service;

import com.ship.dispatch.bean.HomePage.ConHomePageShow;
import com.ship.dispatch.bean.boats.info.QueryMonthlyCountInfo;
import com.ship.dispatch.bean.boats.info.QueryPortEntranceInfo;
import com.ship.dispatch.bean.boats.info.QueryVolumeTradeInfo;
import com.ship.dispatch.vo.report.ShapeUnifyVo;

import java.text.ParseException;
import java.util.List;

public interface HomePageService {
    /**
     * LNG 船舶数量
     * @param startDate
     * @param endDate
     * @return
     */
    List<ShapeUnifyVo> queryTotalByShipStatus(String startDate, String endDate);

    /**
     * 月度执行完成货量
     *
     * @param startDate 时间格式 YYYY-MM-dd
     * @param endDate   时间格式 YYYY-MM-dd
     * @return
     */
    List<ShapeUnifyVo> queryExecutionComplete(String startDate, String endDate);

    /**
     * TOP5 进口港及其进口量(单位：万吨)
     * @return
     */
    List<QueryPortEntranceInfo> shipPortEntranceVolume(String startDate, String endDate);

    /**
     * TOP5 出口港及其出口量(单位：万吨)
     * @return
     */
    List<QueryPortEntranceInfo> shipPortExportVolume(String startDate, String endDate);

    /**
     * 月度到国内航次数量
     * @return
     */
    List<QueryMonthlyCountInfo> queryMonthlyShipCount(String startDate, String endDate);

    /**
     * 贸易量统计(单位：万吨)
     */
    List<QueryVolumeTradeInfo> tradeVolumeStatistics(String startDate, String endDate);

    /**
     * 获取统计
     * @return
     */
    Object getStatistics(int type);

    /**
     * 获取详细统计
     * @return
     */
    List<ConHomePageShow> getShipInfo() throws ParseException;
}
